Storing and retrieving data on a hard disk or other storage media are essential to modern computing. Ordinarily, data is stored in a hard disk in concentric circles called tracks. The disk is generally further formatted with the SERVO wedges. In today's drives there are generally about 200 SERVO wedges. Portions of the tracks corresponding to servo wedges contain some system information and user data is generally written elsewhere on the track.
User data is generally stored on the media in logical sector format, e.g. 512 bytes of user data plus some overhead for error correction code. Logical sectors are protected by Error Correction Code (ECC), e.g. Reed Solomon (RS) or Low-Density Parity Check Code (LDPC) to ensure high data reliability. ECC may protect an entire logical sector or logical sectors may be sub-divided into multiple ECC code words.
Sometimes it is not possible to fit an integral number of logical sectors between two consecutive SERVO wedges. In this case, a logical sector is broken into two physical sectors. A first physical sector is written before the SERVO wedge and a second physical sector is written after the SERVO wedge. This is commonly referred to as a split sector. In the absence of a split sector, a logical sector coincides with a physical sector. Each physical sector generally has the following format on the media: (preamble (a sequence of 00110011 . . . ,), sync mark 1, user data+ECC, postamble (11001100 . . .)). Alternatively, it is also possible to have two sync marks per physical sector: (preamble, sync1, data1, sync2, data2, postamble). Here the second syncmark splits the user payload into two parts: data1 and data2.
Split sectors, and second syncmark causes fragmentation of user data on media in that user data that belongs to the same logical sector does not correspond to a continuous segment on the media. Instead some other bits (e.g. corresponding to the 2nd syncmark) are placed in-between user bits. During the readback process, the decoder has to remove any system information that was inserted in-between the data (e.g. sync2) and format the data into logical sectors before starting an ECC decoding process and/or returning data back to a Host.